range: use border box for slider area
authorCosimo Cecchi <cosimoc@gnome.org>
Wed, 24 Feb 2016 23:35:28 +0000 (15:35 -0800)
committerCosimo Cecchi <cosimoc@gnome.org>
Mon, 29 Feb 2016 18:45:13 +0000 (10:45 -0800)
Since we can use negative margins, we should not use the margin box
for the slider area. Use the border box instead, since that's what is
typically mapped to the visible area.

gtk/gtkrange.c

index 6856fa600fdff1e66e5d643f8b72c3eba9147f8b..d712346340172ded1814410762e676e6487d1caf 100644 (file)
@@ -1279,7 +1279,7 @@ gtk_range_get_slider_range (GtkRange *range,
 
   priv = range->priv;
 
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
 
   if (priv->orientation == GTK_ORIENTATION_VERTICAL)
     {
@@ -2469,7 +2469,7 @@ coord_to_value (GtkRange *range,
   gint    slider_length;
   GtkAllocation slider_alloc, trough_alloc;
 
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
   gtk_css_gadget_get_content_box (priv->trough_gadget, &trough_alloc);
 
   if (priv->orientation == GTK_ORIENTATION_VERTICAL)
@@ -2512,7 +2512,7 @@ gtk_range_key_press (GtkWidget   *widget,
   device = gdk_event_get_device ((GdkEvent *) event);
   device = gdk_device_get_associated_device (device);
 
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
 
   if (gtk_gesture_is_active (priv->drag_gesture) &&
       device == gtk_gesture_get_device (priv->drag_gesture) &&
@@ -2549,7 +2549,7 @@ gtk_range_long_press_gesture_pressed (GtkGestureLongPress *gesture,
   GtkAllocation slider_alloc;
 
   gtk_range_update_mouse_location (range);
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
 
   if (priv->mouse_location == MOUSE_SLIDER && !priv->zoom)
     {
@@ -2603,7 +2603,7 @@ gtk_range_multipress_gesture_pressed (GtkGestureMultiPress *gesture,
   priv->mouse_y = y;
 
   gtk_range_update_mouse_location (range);
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
 
   g_object_get (gtk_widget_get_settings (widget),
                 "gtk-primary-button-warps-slider", &primary_warps,
@@ -2780,7 +2780,7 @@ update_slider_position (GtkRange *range,
   gint i;
   GtkAllocation slider_alloc, trough_alloc;
 
-  gtk_css_gadget_get_margin_box (priv->slider_gadget, &slider_alloc);
+  gtk_css_gadget_get_border_box (priv->slider_gadget, &slider_alloc);
   gtk_css_gadget_get_margin_box (priv->trough_gadget, &trough_alloc);
 
   if (priv->zoom)